{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "NeuralNetsCodeAlong.ipynb",
      "provenance": [],
      "authorship_tag": "ABX9TyPsyme/3h2/TBhYziX7p3nm",
      "include_colab_link": true
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      },
      "source": [
        "<a href=\"https://colab.research.google.com/github/Divyanshu-ISM/Oil-and-Gas-data-analysis/blob/master/NeuralNetsCodeAlong.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "t-DGTyg7pCoe",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "A5LdkoRBpJRh",
        "colab_type": "text"
      },
      "source": [
        "# 1. Regression Problem solved using Deep Learning."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "zWPl5SB1pQV7",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "import numpy as np\n",
        "import pandas as pd\n",
        "import matplotlib.pyplot as plt\n",
        "import seaborn as sns\n",
        "%matplotlib inline"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Ut5zHeMxpp3_",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "df = pd.read_csv('kc_house_data.csv')"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "4r2HLENRyJry",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 350
        },
        "outputId": "59344191-2849-4101-b396-8a8874e17573"
      },
      "source": [
        "sns.heatmap(df.isnull()) #no missing data"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.axes._subplots.AxesSubplot at 0x7f112092dfd0>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 4
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 2 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "mXluc1K1yYWz",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 669
        },
        "outputId": "5dd21415-8898-4fd2-8ea3-7f1263420abb"
      },
      "source": [
        "df.describe().T"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>count</th>\n",
              "      <th>mean</th>\n",
              "      <th>std</th>\n",
              "      <th>min</th>\n",
              "      <th>25%</th>\n",
              "      <th>50%</th>\n",
              "      <th>75%</th>\n",
              "      <th>max</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>id</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>4.580474e+09</td>\n",
              "      <td>2.876736e+09</td>\n",
              "      <td>1.000102e+06</td>\n",
              "      <td>2.123049e+09</td>\n",
              "      <td>3.904930e+09</td>\n",
              "      <td>7.308900e+09</td>\n",
              "      <td>9.900000e+09</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>price</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>5.402966e+05</td>\n",
              "      <td>3.673681e+05</td>\n",
              "      <td>7.800000e+04</td>\n",
              "      <td>3.220000e+05</td>\n",
              "      <td>4.500000e+05</td>\n",
              "      <td>6.450000e+05</td>\n",
              "      <td>7.700000e+06</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>bedrooms</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>3.373200e+00</td>\n",
              "      <td>9.262989e-01</td>\n",
              "      <td>1.000000e+00</td>\n",
              "      <td>3.000000e+00</td>\n",
              "      <td>3.000000e+00</td>\n",
              "      <td>4.000000e+00</td>\n",
              "      <td>3.300000e+01</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>bathrooms</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>2.115826e+00</td>\n",
              "      <td>7.689843e-01</td>\n",
              "      <td>5.000000e-01</td>\n",
              "      <td>1.750000e+00</td>\n",
              "      <td>2.250000e+00</td>\n",
              "      <td>2.500000e+00</td>\n",
              "      <td>8.000000e+00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>sqft_living</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>2.080322e+03</td>\n",
              "      <td>9.181061e+02</td>\n",
              "      <td>3.700000e+02</td>\n",
              "      <td>1.430000e+03</td>\n",
              "      <td>1.910000e+03</td>\n",
              "      <td>2.550000e+03</td>\n",
              "      <td>1.354000e+04</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>sqft_lot</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>1.509941e+04</td>\n",
              "      <td>4.141264e+04</td>\n",
              "      <td>5.200000e+02</td>\n",
              "      <td>5.040000e+03</td>\n",
              "      <td>7.618000e+03</td>\n",
              "      <td>1.068500e+04</td>\n",
              "      <td>1.651359e+06</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>floors</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>1.494096e+00</td>\n",
              "      <td>5.396828e-01</td>\n",
              "      <td>1.000000e+00</td>\n",
              "      <td>1.000000e+00</td>\n",
              "      <td>1.500000e+00</td>\n",
              "      <td>2.000000e+00</td>\n",
              "      <td>3.500000e+00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>waterfront</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>7.547345e-03</td>\n",
              "      <td>8.654900e-02</td>\n",
              "      <td>0.000000e+00</td>\n",
              "      <td>0.000000e+00</td>\n",
              "      <td>0.000000e+00</td>\n",
              "      <td>0.000000e+00</td>\n",
              "      <td>1.000000e+00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>view</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>2.342918e-01</td>\n",
              "      <td>7.663898e-01</td>\n",
              "      <td>0.000000e+00</td>\n",
              "      <td>0.000000e+00</td>\n",
              "      <td>0.000000e+00</td>\n",
              "      <td>0.000000e+00</td>\n",
              "      <td>4.000000e+00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>condition</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>3.409825e+00</td>\n",
              "      <td>6.505456e-01</td>\n",
              "      <td>1.000000e+00</td>\n",
              "      <td>3.000000e+00</td>\n",
              "      <td>3.000000e+00</td>\n",
              "      <td>4.000000e+00</td>\n",
              "      <td>5.000000e+00</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>grade</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>7.657915e+00</td>\n",
              "      <td>1.173200e+00</td>\n",
              "      <td>3.000000e+00</td>\n",
              "      <td>7.000000e+00</td>\n",
              "      <td>7.000000e+00</td>\n",
              "      <td>8.000000e+00</td>\n",
              "      <td>1.300000e+01</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>sqft_above</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>1.788597e+03</td>\n",
              "      <td>8.277598e+02</td>\n",
              "      <td>3.700000e+02</td>\n",
              "      <td>1.190000e+03</td>\n",
              "      <td>1.560000e+03</td>\n",
              "      <td>2.210000e+03</td>\n",
              "      <td>9.410000e+03</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>sqft_basement</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>2.917250e+02</td>\n",
              "      <td>4.426678e+02</td>\n",
              "      <td>0.000000e+00</td>\n",
              "      <td>0.000000e+00</td>\n",
              "      <td>0.000000e+00</td>\n",
              "      <td>5.600000e+02</td>\n",
              "      <td>4.820000e+03</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>yr_built</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>1.971000e+03</td>\n",
              "      <td>2.937523e+01</td>\n",
              "      <td>1.900000e+03</td>\n",
              "      <td>1.951000e+03</td>\n",
              "      <td>1.975000e+03</td>\n",
              "      <td>1.997000e+03</td>\n",
              "      <td>2.015000e+03</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>yr_renovated</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>8.446479e+01</td>\n",
              "      <td>4.018214e+02</td>\n",
              "      <td>0.000000e+00</td>\n",
              "      <td>0.000000e+00</td>\n",
              "      <td>0.000000e+00</td>\n",
              "      <td>0.000000e+00</td>\n",
              "      <td>2.015000e+03</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>zipcode</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>9.807795e+04</td>\n",
              "      <td>5.351307e+01</td>\n",
              "      <td>9.800100e+04</td>\n",
              "      <td>9.803300e+04</td>\n",
              "      <td>9.806500e+04</td>\n",
              "      <td>9.811800e+04</td>\n",
              "      <td>9.819900e+04</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>lat</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>4.756009e+01</td>\n",
              "      <td>1.385518e-01</td>\n",
              "      <td>4.715590e+01</td>\n",
              "      <td>4.747110e+01</td>\n",
              "      <td>4.757180e+01</td>\n",
              "      <td>4.767800e+01</td>\n",
              "      <td>4.777760e+01</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>long</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>-1.222140e+02</td>\n",
              "      <td>1.407235e-01</td>\n",
              "      <td>-1.225190e+02</td>\n",
              "      <td>-1.223280e+02</td>\n",
              "      <td>-1.222310e+02</td>\n",
              "      <td>-1.221250e+02</td>\n",
              "      <td>-1.213150e+02</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>sqft_living15</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>1.986620e+03</td>\n",
              "      <td>6.852305e+02</td>\n",
              "      <td>3.990000e+02</td>\n",
              "      <td>1.490000e+03</td>\n",
              "      <td>1.840000e+03</td>\n",
              "      <td>2.360000e+03</td>\n",
              "      <td>6.210000e+03</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>sqft_lot15</th>\n",
              "      <td>21597.0</td>\n",
              "      <td>1.275828e+04</td>\n",
              "      <td>2.727444e+04</td>\n",
              "      <td>6.510000e+02</td>\n",
              "      <td>5.100000e+03</td>\n",
              "      <td>7.620000e+03</td>\n",
              "      <td>1.008300e+04</td>\n",
              "      <td>8.712000e+05</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "                 count          mean  ...           75%           max\n",
              "id             21597.0  4.580474e+09  ...  7.308900e+09  9.900000e+09\n",
              "price          21597.0  5.402966e+05  ...  6.450000e+05  7.700000e+06\n",
              "bedrooms       21597.0  3.373200e+00  ...  4.000000e+00  3.300000e+01\n",
              "bathrooms      21597.0  2.115826e+00  ...  2.500000e+00  8.000000e+00\n",
              "sqft_living    21597.0  2.080322e+03  ...  2.550000e+03  1.354000e+04\n",
              "sqft_lot       21597.0  1.509941e+04  ...  1.068500e+04  1.651359e+06\n",
              "floors         21597.0  1.494096e+00  ...  2.000000e+00  3.500000e+00\n",
              "waterfront     21597.0  7.547345e-03  ...  0.000000e+00  1.000000e+00\n",
              "view           21597.0  2.342918e-01  ...  0.000000e+00  4.000000e+00\n",
              "condition      21597.0  3.409825e+00  ...  4.000000e+00  5.000000e+00\n",
              "grade          21597.0  7.657915e+00  ...  8.000000e+00  1.300000e+01\n",
              "sqft_above     21597.0  1.788597e+03  ...  2.210000e+03  9.410000e+03\n",
              "sqft_basement  21597.0  2.917250e+02  ...  5.600000e+02  4.820000e+03\n",
              "yr_built       21597.0  1.971000e+03  ...  1.997000e+03  2.015000e+03\n",
              "yr_renovated   21597.0  8.446479e+01  ...  0.000000e+00  2.015000e+03\n",
              "zipcode        21597.0  9.807795e+04  ...  9.811800e+04  9.819900e+04\n",
              "lat            21597.0  4.756009e+01  ...  4.767800e+01  4.777760e+01\n",
              "long           21597.0 -1.222140e+02  ... -1.221250e+02 -1.213150e+02\n",
              "sqft_living15  21597.0  1.986620e+03  ...  2.360000e+03  6.210000e+03\n",
              "sqft_lot15     21597.0  1.275828e+04  ...  1.008300e+04  8.712000e+05\n",
              "\n",
              "[20 rows x 8 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 6
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "n-198OeyyiZ3",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 224
        },
        "outputId": "1dab2202-e4a4-42d3-cb90-4ba8dc5ab0cc"
      },
      "source": [
        "df.head()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>id</th>\n",
              "      <th>date</th>\n",
              "      <th>price</th>\n",
              "      <th>bedrooms</th>\n",
              "      <th>bathrooms</th>\n",
              "      <th>sqft_living</th>\n",
              "      <th>sqft_lot</th>\n",
              "      <th>floors</th>\n",
              "      <th>waterfront</th>\n",
              "      <th>view</th>\n",
              "      <th>condition</th>\n",
              "      <th>grade</th>\n",
              "      <th>sqft_above</th>\n",
              "      <th>sqft_basement</th>\n",
              "      <th>yr_built</th>\n",
              "      <th>yr_renovated</th>\n",
              "      <th>zipcode</th>\n",
              "      <th>lat</th>\n",
              "      <th>long</th>\n",
              "      <th>sqft_living15</th>\n",
              "      <th>sqft_lot15</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>7129300520</td>\n",
              "      <td>10/13/2014</td>\n",
              "      <td>221900.0</td>\n",
              "      <td>3</td>\n",
              "      <td>1.00</td>\n",
              "      <td>1180</td>\n",
              "      <td>5650</td>\n",
              "      <td>1.0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>3</td>\n",
              "      <td>7</td>\n",
              "      <td>1180</td>\n",
              "      <td>0</td>\n",
              "      <td>1955</td>\n",
              "      <td>0</td>\n",
              "      <td>98178</td>\n",
              "      <td>47.5112</td>\n",
              "      <td>-122.257</td>\n",
              "      <td>1340</td>\n",
              "      <td>5650</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>6414100192</td>\n",
              "      <td>12/9/2014</td>\n",
              "      <td>538000.0</td>\n",
              "      <td>3</td>\n",
              "      <td>2.25</td>\n",
              "      <td>2570</td>\n",
              "      <td>7242</td>\n",
              "      <td>2.0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>3</td>\n",
              "      <td>7</td>\n",
              "      <td>2170</td>\n",
              "      <td>400</td>\n",
              "      <td>1951</td>\n",
              "      <td>1991</td>\n",
              "      <td>98125</td>\n",
              "      <td>47.7210</td>\n",
              "      <td>-122.319</td>\n",
              "      <td>1690</td>\n",
              "      <td>7639</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>5631500400</td>\n",
              "      <td>2/25/2015</td>\n",
              "      <td>180000.0</td>\n",
              "      <td>2</td>\n",
              "      <td>1.00</td>\n",
              "      <td>770</td>\n",
              "      <td>10000</td>\n",
              "      <td>1.0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>3</td>\n",
              "      <td>6</td>\n",
              "      <td>770</td>\n",
              "      <td>0</td>\n",
              "      <td>1933</td>\n",
              "      <td>0</td>\n",
              "      <td>98028</td>\n",
              "      <td>47.7379</td>\n",
              "      <td>-122.233</td>\n",
              "      <td>2720</td>\n",
              "      <td>8062</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>2487200875</td>\n",
              "      <td>12/9/2014</td>\n",
              "      <td>604000.0</td>\n",
              "      <td>4</td>\n",
              "      <td>3.00</td>\n",
              "      <td>1960</td>\n",
              "      <td>5000</td>\n",
              "      <td>1.0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>5</td>\n",
              "      <td>7</td>\n",
              "      <td>1050</td>\n",
              "      <td>910</td>\n",
              "      <td>1965</td>\n",
              "      <td>0</td>\n",
              "      <td>98136</td>\n",
              "      <td>47.5208</td>\n",
              "      <td>-122.393</td>\n",
              "      <td>1360</td>\n",
              "      <td>5000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>1954400510</td>\n",
              "      <td>2/18/2015</td>\n",
              "      <td>510000.0</td>\n",
              "      <td>3</td>\n",
              "      <td>2.00</td>\n",
              "      <td>1680</td>\n",
              "      <td>8080</td>\n",
              "      <td>1.0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>3</td>\n",
              "      <td>8</td>\n",
              "      <td>1680</td>\n",
              "      <td>0</td>\n",
              "      <td>1987</td>\n",
              "      <td>0</td>\n",
              "      <td>98074</td>\n",
              "      <td>47.6168</td>\n",
              "      <td>-122.045</td>\n",
              "      <td>1800</td>\n",
              "      <td>7503</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "           id        date     price  ...     long  sqft_living15  sqft_lot15\n",
              "0  7129300520  10/13/2014  221900.0  ... -122.257           1340        5650\n",
              "1  6414100192   12/9/2014  538000.0  ... -122.319           1690        7639\n",
              "2  5631500400   2/25/2015  180000.0  ... -122.233           2720        8062\n",
              "3  2487200875   12/9/2014  604000.0  ... -122.393           1360        5000\n",
              "4  1954400510   2/18/2015  510000.0  ... -122.045           1800        7503\n",
              "\n",
              "[5 rows x 21 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 7
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Q93WEbmKy9CR",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 633
        },
        "outputId": "cedba766-7ac5-49d3-ef1b-df5c4494f056"
      },
      "source": [
        "plt.figure(figsize=(10,10))\n",
        "sns.distplot(df['price'])"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.axes._subplots.AxesSubplot at 0x7f111c8025c0>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 8
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 720x720 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "NqG7CrG70Ka0",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 296
        },
        "outputId": "7cc5136d-6be6-4481-c1f1-e5ae99ad8e6a"
      },
      "source": [
        "sns.countplot(df['bedrooms']) #majority have 2-5 bedrooms"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.axes._subplots.AxesSubplot at 0x7f111c3edda0>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 9
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "KpxhHRJ_1cfM",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 374
        },
        "outputId": "c9edbfbe-8ca3-484c-eb5e-bc2d4886e8fc"
      },
      "source": [
        "df.corr()['price'].sort_values()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "zipcode         -0.053402\n",
              "id              -0.016772\n",
              "long             0.022036\n",
              "condition        0.036056\n",
              "yr_built         0.053953\n",
              "sqft_lot15       0.082845\n",
              "sqft_lot         0.089876\n",
              "yr_renovated     0.126424\n",
              "floors           0.256804\n",
              "waterfront       0.266398\n",
              "lat              0.306692\n",
              "bedrooms         0.308787\n",
              "sqft_basement    0.323799\n",
              "view             0.397370\n",
              "bathrooms        0.525906\n",
              "sqft_living15    0.585241\n",
              "sqft_above       0.605368\n",
              "grade            0.667951\n",
              "sqft_living      0.701917\n",
              "price            1.000000\n",
              "Name: price, dtype: float64"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 12
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "rsg68uzcDyIq",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 363
        },
        "outputId": "dbdfd6fe-6287-4f80-f747-b61fa00047a6"
      },
      "source": [
        "plt.figure(figsize=(8,5))\n",
        "sns.scatterplot(x='sqft_living',y='price',data=df)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.axes._subplots.AxesSubplot at 0x7f111ccc2eb8>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 15
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 576x360 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "woYoFIa-EpyV",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 307
        },
        "outputId": "dd6aced0-c997-4fb2-ae22-35b2d3b3a95b"
      },
      "source": [
        "sns.boxplot(x='floors',y='price',data=df)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.axes._subplots.AxesSubplot at 0x7f111c3939b0>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 16
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "PohITu38JWOt",
        "colab_type": "text"
      },
      "source": [
        "# Feature Engineering"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "OUvrKU49JVGi",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 131
        },
        "outputId": "80da96fd-1ff3-40f2-ccce-a8b9b3b69e0a"
      },
      "source": [
        "df.head(2)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>id</th>\n",
              "      <th>date</th>\n",
              "      <th>price</th>\n",
              "      <th>bedrooms</th>\n",
              "      <th>bathrooms</th>\n",
              "      <th>sqft_living</th>\n",
              "      <th>sqft_lot</th>\n",
              "      <th>floors</th>\n",
              "      <th>waterfront</th>\n",
              "      <th>view</th>\n",
              "      <th>condition</th>\n",
              "      <th>grade</th>\n",
              "      <th>sqft_above</th>\n",
              "      <th>sqft_basement</th>\n",
              "      <th>yr_built</th>\n",
              "      <th>yr_renovated</th>\n",
              "      <th>zipcode</th>\n",
              "      <th>lat</th>\n",
              "      <th>long</th>\n",
              "      <th>sqft_living15</th>\n",
              "      <th>sqft_lot15</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>7129300520</td>\n",
              "      <td>10/13/2014</td>\n",
              "      <td>221900.0</td>\n",
              "      <td>3</td>\n",
              "      <td>1.00</td>\n",
              "      <td>1180</td>\n",
              "      <td>5650</td>\n",
              "      <td>1.0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>3</td>\n",
              "      <td>7</td>\n",
              "      <td>1180</td>\n",
              "      <td>0</td>\n",
              "      <td>1955</td>\n",
              "      <td>0</td>\n",
              "      <td>98178</td>\n",
              "      <td>47.5112</td>\n",
              "      <td>-122.257</td>\n",
              "      <td>1340</td>\n",
              "      <td>5650</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>6414100192</td>\n",
              "      <td>12/9/2014</td>\n",
              "      <td>538000.0</td>\n",
              "      <td>3</td>\n",
              "      <td>2.25</td>\n",
              "      <td>2570</td>\n",
              "      <td>7242</td>\n",
              "      <td>2.0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>3</td>\n",
              "      <td>7</td>\n",
              "      <td>2170</td>\n",
              "      <td>400</td>\n",
              "      <td>1951</td>\n",
              "      <td>1991</td>\n",
              "      <td>98125</td>\n",
              "      <td>47.7210</td>\n",
              "      <td>-122.319</td>\n",
              "      <td>1690</td>\n",
              "      <td>7639</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "           id        date     price  ...     long  sqft_living15  sqft_lot15\n",
              "0  7129300520  10/13/2014  221900.0  ... -122.257           1340        5650\n",
              "1  6414100192   12/9/2014  538000.0  ... -122.319           1690        7639\n",
              "\n",
              "[2 rows x 21 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 17
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "-qa-hNlSFslM",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "df = df.drop('id',axis=1)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "flxtmnsFJoBJ",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 131
        },
        "outputId": "bcf038e1-5a33-449d-c4d2-167501f25577"
      },
      "source": [
        "df.head(2)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>date</th>\n",
              "      <th>price</th>\n",
              "      <th>bedrooms</th>\n",
              "      <th>bathrooms</th>\n",
              "      <th>sqft_living</th>\n",
              "      <th>sqft_lot</th>\n",
              "      <th>floors</th>\n",
              "      <th>waterfront</th>\n",
              "      <th>view</th>\n",
              "      <th>condition</th>\n",
              "      <th>grade</th>\n",
              "      <th>sqft_above</th>\n",
              "      <th>sqft_basement</th>\n",
              "      <th>yr_built</th>\n",
              "      <th>yr_renovated</th>\n",
              "      <th>zipcode</th>\n",
              "      <th>lat</th>\n",
              "      <th>long</th>\n",
              "      <th>sqft_living15</th>\n",
              "      <th>sqft_lot15</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>10/13/2014</td>\n",
              "      <td>221900.0</td>\n",
              "      <td>3</td>\n",
              "      <td>1.00</td>\n",
              "      <td>1180</td>\n",
              "      <td>5650</td>\n",
              "      <td>1.0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>3</td>\n",
              "      <td>7</td>\n",
              "      <td>1180</td>\n",
              "      <td>0</td>\n",
              "      <td>1955</td>\n",
              "      <td>0</td>\n",
              "      <td>98178</td>\n",
              "      <td>47.5112</td>\n",
              "      <td>-122.257</td>\n",
              "      <td>1340</td>\n",
              "      <td>5650</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>12/9/2014</td>\n",
              "      <td>538000.0</td>\n",
              "      <td>3</td>\n",
              "      <td>2.25</td>\n",
              "      <td>2570</td>\n",
              "      <td>7242</td>\n",
              "      <td>2.0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>3</td>\n",
              "      <td>7</td>\n",
              "      <td>2170</td>\n",
              "      <td>400</td>\n",
              "      <td>1951</td>\n",
              "      <td>1991</td>\n",
              "      <td>98125</td>\n",
              "      <td>47.7210</td>\n",
              "      <td>-122.319</td>\n",
              "      <td>1690</td>\n",
              "      <td>7639</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "         date     price  bedrooms  ...     long  sqft_living15  sqft_lot15\n",
              "0  10/13/2014  221900.0         3  ... -122.257           1340        5650\n",
              "1   12/9/2014  538000.0         3  ... -122.319           1690        7639\n",
              "\n",
              "[2 rows x 20 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 19
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "VyN2ekVhJrdF",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "df['date'] = pd.to_datetime(df['date'])"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "xCuVhoexJ4iS",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "y = lambda dates : dates.year"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7nbAg78yJ6Yx",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "df['year'] = df['date'].apply(y)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "w0S_s64aKpwv",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "df['month'] = df['date'].apply(lambda dates : dates.month)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "pynPH9mrKrrC",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 525
        },
        "outputId": "0eec762d-ba12-408b-fe97-3deca06433b1"
      },
      "source": [
        "plt.figure(figsize=(12,8))\n",
        "sns.boxplot(x='month',y='price',data=df)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.axes._subplots.AxesSubplot at 0x7f111bb8ee10>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 37
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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szCfXpzWrFlT1169enVKleBEeO+9evrpp+vaTz31VEqVxM/7DWuNN800tvPOe/h/3/veV9f+9V//9ZQqwXg13oDnrVPv7rvvrms33ridhsKF48b59Brbede4skwWVpoBRhw4cKBpG9nVuNrmQw89lFIlyWgcwuTtvXnPPffUte+6666UKsF4NX5R8/bFLYvDCQsXjr33zHmfqs4775d2Pd9weMYZZzRt55332Th+/OMf17U3btyYUiXJaFwAq7GN7BqZ43jE4cOHU6okGdOnT2/aTkPhwrH38OF9uh7vw2K8X9r1HLCy2PsRJ+8dC955vhnWu+9973t17e9+97spVZKMefPm1bXnz5+fUiWvKVw4vvjii+va3lboagxTV199dUqVJKNx7JW3ydCRX4THfPM+pvryyy+vazfeoJd3nsO/9/ULNm/eXNfetGlTSpW8pnDh+Mknn6xrb9myJaVKJoa3D5H3g0Rjj8DIqkgAksUc8fnm+dzgvVMviwr36fe8QpckPfzww03byDZ6H4F0eD83/OAHP6hrP/rooylVgvFq7MTz3qmXBYULx955vuEJyDLv9zMg3zz3rHr36quv1rW9fXFrHOKThSE/hGNnvN8UBGTVm9/85qZtIE3nnntu0zaQlilTptS1szDev3Dh2HvvztSpU5u2866jo6OuzVR1+eL5ppnHH3+8aRvZ5v3c8Fu/9Vt17Q9/+MPpFJIQz+e+M888s2k777J4r03hwrH3MZ2Nl18a23k3Z86cpm1km+dLu563rQi8nxv+5m/+pq7duNx53nk+93neNimbn73ChWPkW+NE/T/60Y9SqgQA8qNx0Y/t27enVAnGy3s4ziLCsTPeLw0CSAfHFgBFQTh2JouXJwDkn/dji+fx8BL3awDjUbhwfM0119S1Fy5cmFIlOBHeT2AA0uH5hi5J2r17d117cHAwpUqA7CtcOF6yZEld+13veldKleBEcNMTgCR4XwSEYyfQusKF43vuuaeufffdd6dUCQAAALKmcOGYO3YBAEBeTJs2rWkb8StcOGbMKgAAyItDhw41bedd4/j+LIT/woXjyy+/vK6dhTW8ASDr6FgA0uF9vHjjvM1ZGO9fuHDcyNubrL29vWkbAE7ElClTmraRbXy5yS/23cQrXDh+9NFHm7bzjon6ASTB+6Vd70499dSmbWSX92kGs6hw4dg7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\n",
            "text/plain": [
              "<Figure size 864x576 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "tYCF77reLQJt",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 296
        },
        "outputId": "38e174d0-ac39-4e63-d71e-b0f5c06f336c"
      },
      "source": [
        "df.groupby('month').mean()['price'].plot()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.axes._subplots.AxesSubplot at 0x7f111ba12a58>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 38
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7ESUMKdrPf2T",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 221
        },
        "outputId": "ae8a3e31-987d-4d35-af14-17fc5b81fac3"
      },
      "source": [
        "df['zipcode'].value_counts()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "98103    602\n",
              "98038    589\n",
              "98115    583\n",
              "98052    574\n",
              "98117    553\n",
              "        ... \n",
              "98102    104\n",
              "98010    100\n",
              "98024     80\n",
              "98148     57\n",
              "98039     50\n",
              "Name: zipcode, Length: 70, dtype: int64"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 39
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ElVTBC6LScUh",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "df = df.drop('zipcode',axis=1)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "SC4M6BdkTJMA",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "# df.head(2)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "i2SS5sSHUYdJ",
        "colab_type": "text"
      },
      "source": [
        "#Data Preprocessing and Train-Test Split (ML/DL)\n",
        "--> note that neural networks take in arrays. hence .values is important\n"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Vz65FTn6TN5f",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "df = df.drop('date',axis=1)\n",
        "X = df.drop('price',axis=1).values"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "V5txiyxkUtMC",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "y = df['price'].values"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "EnuW_9YGU3-3",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from sklearn.model_selection import train_test_split"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "IgxEKMKDVNyT",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=101)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "iilklczwVf1C",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "# now we do scaling. and we always do it post split, on the training set to prevent \n",
        "#data leakage."
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "z1CgXrkAVr0B",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from sklearn.preprocessing import MinMaxScaler"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "9Iq5L8K5VzyO",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "scaler = MinMaxScaler()"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "xAIokkrEV4Ux",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "X_train = scaler.fit_transform(X_train)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "2ykGC6ibWBXp",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "X_test = scaler.transform(X_test)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "FTlniEHCWxdc",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from tensorflow.keras.models import Sequential"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Fx7RU23qW6_A",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from tensorflow.keras.layers import Dense"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "d_IKSfU0XDfG",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "model = Sequential()"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "LbMONq43XK3x",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "0d06f0b3-d303-44d2-82be-ae283f5dcd88"
      },
      "source": [
        "#input neurons = no. of incoming features (columns of the matrix/2D array)\n",
        "X_train.shape # hence 19 input layer neurons"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(15117, 19)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 64
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "QDSI0QQaXz5R",
        "colab_type": "text"
      },
      "source": [
        "# adding layers one by one"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "TYcjmLJNXZtj",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "model.add(Dense(19,activation='relu'))"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "iNKK7dfMYB9o",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "model.add(Dense(19,activation='relu'))\n",
        "model.add(Dense(19,activation='relu'))\n",
        "model.add(Dense(19,activation='relu'))\n",
        "\n",
        "model.add(Dense(1)) #might be overkill but we'll check with validation data"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "nKMSOuMcYY_u",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "model.compile(optimizer='adam',loss='mse') #since y -> price -> continuous value, mse is a good loss function. adam is a modified grad. descent."
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "qdJkGaGkY5jl",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "9690fe09-54e7-4ef3-a8a5-466b510da678"
      },
      "source": [
        "model.fit(x=X_train,y=y_train,batch_size=128,validation_data=(X_test,y_test),epochs=400)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Epoch 1/400\n",
            "119/119 [==============================] - 0s 4ms/step - loss: 430246330368.0000 - val_loss: 418949070848.0000\n",
            "Epoch 2/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 429333708800.0000 - val_loss: 415472713728.0000\n",
            "Epoch 3/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 413313368064.0000 - val_loss: 376751554560.0000\n",
            "Epoch 4/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 327799799808.0000 - val_loss: 238805565440.0000\n",
            "Epoch 5/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 168415969280.0000 - val_loss: 106404708352.0000\n",
            "Epoch 6/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 101073387520.0000 - val_loss: 94634680320.0000\n",
            "Epoch 7/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 96862617600.0000 - val_loss: 92891299840.0000\n",
            "Epoch 8/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 94998437888.0000 - val_loss: 91125481472.0000\n",
            "Epoch 9/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 93109182464.0000 - val_loss: 89294036992.0000\n",
            "Epoch 10/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 91165327360.0000 - val_loss: 87379664896.0000\n",
            "Epoch 11/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 89105883136.0000 - val_loss: 85455945728.0000\n",
            "Epoch 12/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 86967681024.0000 - val_loss: 83289202688.0000\n",
            "Epoch 13/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 84738826240.0000 - val_loss: 81093025792.0000\n",
            "Epoch 14/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 82440085504.0000 - val_loss: 78837186560.0000\n",
            "Epoch 15/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 80008880128.0000 - val_loss: 76489179136.0000\n",
            "Epoch 16/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 77490216960.0000 - val_loss: 74049052672.0000\n",
            "Epoch 17/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 74943201280.0000 - val_loss: 71551270912.0000\n",
            "Epoch 18/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 72324145152.0000 - val_loss: 68967088128.0000\n",
            "Epoch 19/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 69658599424.0000 - val_loss: 66386919424.0000\n",
            "Epoch 20/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 66961399808.0000 - val_loss: 63797092352.0000\n",
            "Epoch 21/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 64305381376.0000 - val_loss: 61257670656.0000\n",
            "Epoch 22/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 61772046336.0000 - val_loss: 58944520192.0000\n",
            "Epoch 23/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 59456880640.0000 - val_loss: 56762019840.0000\n",
            "Epoch 24/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 57290117120.0000 - val_loss: 54827782144.0000\n",
            "Epoch 25/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 55404810240.0000 - val_loss: 53162823680.0000\n",
            "Epoch 26/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 53834371072.0000 - val_loss: 51753385984.0000\n",
            "Epoch 27/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 52467380224.0000 - val_loss: 50585165824.0000\n",
            "Epoch 28/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 51292442624.0000 - val_loss: 49546936320.0000\n",
            "Epoch 29/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 50343391232.0000 - val_loss: 48661221376.0000\n",
            "Epoch 30/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 49491099648.0000 - val_loss: 47944085504.0000\n",
            "Epoch 31/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 48751923200.0000 - val_loss: 47206395904.0000\n",
            "Epoch 32/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 48033992704.0000 - val_loss: 46555734016.0000\n",
            "Epoch 33/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 47367450624.0000 - val_loss: 45927223296.0000\n",
            "Epoch 34/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 46732455936.0000 - val_loss: 45329965056.0000\n",
            "Epoch 35/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 46155612160.0000 - val_loss: 44812173312.0000\n",
            "Epoch 36/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 45605285888.0000 - val_loss: 44212760576.0000\n",
            "Epoch 37/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 45079478272.0000 - val_loss: 43687612416.0000\n",
            "Epoch 38/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 44559855616.0000 - val_loss: 43263766528.0000\n",
            "Epoch 39/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 44063895552.0000 - val_loss: 42683551744.0000\n",
            "Epoch 40/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 43563462656.0000 - val_loss: 42219016192.0000\n",
            "Epoch 41/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 43096776704.0000 - val_loss: 41985822720.0000\n",
            "Epoch 42/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 42738356224.0000 - val_loss: 41326891008.0000\n",
            "Epoch 43/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 42392109056.0000 - val_loss: 40931258368.0000\n",
            "Epoch 44/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 41965838336.0000 - val_loss: 40592105472.0000\n",
            "Epoch 45/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 41614368768.0000 - val_loss: 40232017920.0000\n",
            "Epoch 46/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 41267048448.0000 - val_loss: 39939813376.0000\n",
            "Epoch 47/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 40984272896.0000 - val_loss: 39600857088.0000\n",
            "Epoch 48/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 40620552192.0000 - val_loss: 39444541440.0000\n",
            "Epoch 49/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 40415879168.0000 - val_loss: 39030751232.0000\n",
            "Epoch 50/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 40080494592.0000 - val_loss: 38855077888.0000\n",
            "Epoch 51/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 39859695616.0000 - val_loss: 38504873984.0000\n",
            "Epoch 52/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 39566684160.0000 - val_loss: 38245871616.0000\n",
            "Epoch 53/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 39274811392.0000 - val_loss: 38137171968.0000\n",
            "Epoch 54/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 39101493248.0000 - val_loss: 37732376576.0000\n",
            "Epoch 55/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 38791319552.0000 - val_loss: 37516455936.0000\n",
            "Epoch 56/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 38559653888.0000 - val_loss: 37242134528.0000\n",
            "Epoch 57/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 38305034240.0000 - val_loss: 36996198400.0000\n",
            "Epoch 58/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 38114832384.0000 - val_loss: 36761677824.0000\n",
            "Epoch 59/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 37884973056.0000 - val_loss: 36548411392.0000\n",
            "Epoch 60/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 37713858560.0000 - val_loss: 36401164288.0000\n",
            "Epoch 61/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 37457489920.0000 - val_loss: 36116115456.0000\n",
            "Epoch 62/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 37274058752.0000 - val_loss: 35929092096.0000\n",
            "Epoch 63/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 37100855296.0000 - val_loss: 35821289472.0000\n",
            "Epoch 64/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 36921720832.0000 - val_loss: 35597737984.0000\n",
            "Epoch 65/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 36751265792.0000 - val_loss: 35441786880.0000\n",
            "Epoch 66/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 36609998848.0000 - val_loss: 35288846336.0000\n",
            "Epoch 67/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 36492632064.0000 - val_loss: 35124228096.0000\n",
            "Epoch 68/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 36297306112.0000 - val_loss: 34994528256.0000\n",
            "Epoch 69/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 36241354752.0000 - val_loss: 34886733824.0000\n",
            "Epoch 70/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 36078247936.0000 - val_loss: 34730614784.0000\n",
            "Epoch 71/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 35915268096.0000 - val_loss: 34604703744.0000\n",
            "Epoch 72/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 35794354176.0000 - val_loss: 34476613632.0000\n",
            "Epoch 73/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 35680444416.0000 - val_loss: 34387451904.0000\n",
            "Epoch 74/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 35552542720.0000 - val_loss: 34279829504.0000\n",
            "Epoch 75/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 35451846656.0000 - val_loss: 34147643392.0000\n",
            "Epoch 76/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 35338989568.0000 - val_loss: 34079111168.0000\n",
            "Epoch 77/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 35217604608.0000 - val_loss: 33951459328.0000\n",
            "Epoch 78/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 35174563840.0000 - val_loss: 33860294656.0000\n",
            "Epoch 79/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 35040849920.0000 - val_loss: 33774764032.0000\n",
            "Epoch 80/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 34974298112.0000 - val_loss: 33793466368.0000\n",
            "Epoch 81/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 34896199680.0000 - val_loss: 33611399168.0000\n",
            "Epoch 82/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 34796892160.0000 - val_loss: 33544036352.0000\n",
            "Epoch 83/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 34720292864.0000 - val_loss: 33476259840.0000\n",
            "Epoch 84/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 34656321536.0000 - val_loss: 33372409856.0000\n",
            "Epoch 85/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 34567671808.0000 - val_loss: 33352146944.0000\n",
            "Epoch 86/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 34520076288.0000 - val_loss: 33223251968.0000\n",
            "Epoch 87/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 34406875136.0000 - val_loss: 33162678272.0000\n",
            "Epoch 88/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 34369892352.0000 - val_loss: 33082546176.0000\n",
            "Epoch 89/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 34296565760.0000 - val_loss: 33034592256.0000\n",
            "Epoch 90/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 34194597888.0000 - val_loss: 32948264960.0000\n",
            "Epoch 91/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 34177570816.0000 - val_loss: 32926867456.0000\n",
            "Epoch 92/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 34142291968.0000 - val_loss: 32802541568.0000\n",
            "Epoch 93/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 34017116160.0000 - val_loss: 32752740352.0000\n",
            "Epoch 94/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33983870976.0000 - val_loss: 32731688960.0000\n",
            "Epoch 95/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33937790976.0000 - val_loss: 32701353984.0000\n",
            "Epoch 96/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33862488064.0000 - val_loss: 32549027840.0000\n",
            "Epoch 97/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33801742336.0000 - val_loss: 32485011456.0000\n",
            "Epoch 98/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33743962112.0000 - val_loss: 32427155456.0000\n",
            "Epoch 99/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33676742656.0000 - val_loss: 32530872320.0000\n",
            "Epoch 100/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33656834048.0000 - val_loss: 32312702976.0000\n",
            "Epoch 101/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33599485952.0000 - val_loss: 32256169984.0000\n",
            "Epoch 102/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33585786880.0000 - val_loss: 32292712448.0000\n",
            "Epoch 103/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33518411776.0000 - val_loss: 32119756800.0000\n",
            "Epoch 104/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33496199168.0000 - val_loss: 32077957120.0000\n",
            "Epoch 105/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33400215552.0000 - val_loss: 32045275136.0000\n",
            "Epoch 106/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33335490560.0000 - val_loss: 31954667520.0000\n",
            "Epoch 107/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33305935872.0000 - val_loss: 31907162112.0000\n",
            "Epoch 108/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33251399680.0000 - val_loss: 31852247040.0000\n",
            "Epoch 109/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33247004672.0000 - val_loss: 31813132288.0000\n",
            "Epoch 110/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33274841088.0000 - val_loss: 31741667328.0000\n",
            "Epoch 111/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33143083008.0000 - val_loss: 31708342272.0000\n",
            "Epoch 112/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33097242624.0000 - val_loss: 31648612352.0000\n",
            "Epoch 113/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33053925376.0000 - val_loss: 31579607040.0000\n",
            "Epoch 114/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 33019176960.0000 - val_loss: 31543928832.0000\n",
            "Epoch 115/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32963432448.0000 - val_loss: 31503077376.0000\n",
            "Epoch 116/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32959342592.0000 - val_loss: 31482005504.0000\n",
            "Epoch 117/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32941762560.0000 - val_loss: 31539841024.0000\n",
            "Epoch 118/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32867532800.0000 - val_loss: 31370467328.0000\n",
            "Epoch 119/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32872019968.0000 - val_loss: 31356755968.0000\n",
            "Epoch 120/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32801609728.0000 - val_loss: 31304265728.0000\n",
            "Epoch 121/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32725649408.0000 - val_loss: 31340277760.0000\n",
            "Epoch 122/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32706213888.0000 - val_loss: 31198205952.0000\n",
            "Epoch 123/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32704993280.0000 - val_loss: 31190831104.0000\n",
            "Epoch 124/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32691224576.0000 - val_loss: 31115376640.0000\n",
            "Epoch 125/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32619380736.0000 - val_loss: 31085955072.0000\n",
            "Epoch 126/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32568027136.0000 - val_loss: 31068514304.0000\n",
            "Epoch 127/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32570271744.0000 - val_loss: 30981560320.0000\n",
            "Epoch 128/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32511383552.0000 - val_loss: 30955569152.0000\n",
            "Epoch 129/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32517902336.0000 - val_loss: 30930319360.0000\n",
            "Epoch 130/400\n",
            "119/119 [==============================] - 1s 5ms/step - loss: 32448237568.0000 - val_loss: 30875924480.0000\n",
            "Epoch 131/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32428032000.0000 - val_loss: 30863796224.0000\n",
            "Epoch 132/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32434241536.0000 - val_loss: 30861588480.0000\n",
            "Epoch 133/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32395499520.0000 - val_loss: 30842728448.0000\n",
            "Epoch 134/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32329103360.0000 - val_loss: 30946359296.0000\n",
            "Epoch 135/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32344305664.0000 - val_loss: 30724161536.0000\n",
            "Epoch 136/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32288215040.0000 - val_loss: 30726625280.0000\n",
            "Epoch 137/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32271316992.0000 - val_loss: 30639476736.0000\n",
            "Epoch 138/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32231966720.0000 - val_loss: 30655174656.0000\n",
            "Epoch 139/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32184999936.0000 - val_loss: 30641782784.0000\n",
            "Epoch 140/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32203859968.0000 - val_loss: 30577778688.0000\n",
            "Epoch 141/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32166047744.0000 - val_loss: 30541854720.0000\n",
            "Epoch 142/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32193763328.0000 - val_loss: 30482063360.0000\n",
            "Epoch 143/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32120125440.0000 - val_loss: 30509301760.0000\n",
            "Epoch 144/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32084930560.0000 - val_loss: 30465005568.0000\n",
            "Epoch 145/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32055767040.0000 - val_loss: 30511976448.0000\n",
            "Epoch 146/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32108101632.0000 - val_loss: 30400440320.0000\n",
            "Epoch 147/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32007622656.0000 - val_loss: 30351525888.0000\n",
            "Epoch 148/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 32041969664.0000 - val_loss: 30348791808.0000\n",
            "Epoch 149/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31956473856.0000 - val_loss: 30313129984.0000\n",
            "Epoch 150/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31980234752.0000 - val_loss: 30248134656.0000\n",
            "Epoch 151/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31938902016.0000 - val_loss: 30261757952.0000\n",
            "Epoch 152/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31944689664.0000 - val_loss: 30259091456.0000\n",
            "Epoch 153/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31883835392.0000 - val_loss: 30204606464.0000\n",
            "Epoch 154/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31899301888.0000 - val_loss: 30351816704.0000\n",
            "Epoch 155/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31904296960.0000 - val_loss: 30248132608.0000\n",
            "Epoch 156/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31846195200.0000 - val_loss: 30142070784.0000\n",
            "Epoch 157/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31818586112.0000 - val_loss: 30075475968.0000\n",
            "Epoch 158/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31782705152.0000 - val_loss: 30054981632.0000\n",
            "Epoch 159/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31751575552.0000 - val_loss: 30131312640.0000\n",
            "Epoch 160/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31747837952.0000 - val_loss: 30001348608.0000\n",
            "Epoch 161/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31719616512.0000 - val_loss: 30053984256.0000\n",
            "Epoch 162/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31754326016.0000 - val_loss: 30021984256.0000\n",
            "Epoch 163/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31724283904.0000 - val_loss: 29941434368.0000\n",
            "Epoch 164/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31655184384.0000 - val_loss: 29989844992.0000\n",
            "Epoch 165/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31670327296.0000 - val_loss: 29953353728.0000\n",
            "Epoch 166/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31620540416.0000 - val_loss: 29871980544.0000\n",
            "Epoch 167/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31623018496.0000 - val_loss: 29873223680.0000\n",
            "Epoch 168/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31578163200.0000 - val_loss: 29879375872.0000\n",
            "Epoch 169/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31588548608.0000 - val_loss: 29851361280.0000\n",
            "Epoch 170/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31551602688.0000 - val_loss: 29799546880.0000\n",
            "Epoch 171/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31568224256.0000 - val_loss: 29753556992.0000\n",
            "Epoch 172/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31520479232.0000 - val_loss: 29740486656.0000\n",
            "Epoch 173/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31494432768.0000 - val_loss: 29717946368.0000\n",
            "Epoch 174/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31507499008.0000 - val_loss: 29701054464.0000\n",
            "Epoch 175/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31473133568.0000 - val_loss: 29661493248.0000\n",
            "Epoch 176/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31460096000.0000 - val_loss: 29664237568.0000\n",
            "Epoch 177/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31421251584.0000 - val_loss: 29779021824.0000\n",
            "Epoch 178/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31533404160.0000 - val_loss: 29675358208.0000\n",
            "Epoch 179/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31411148800.0000 - val_loss: 29584306176.0000\n",
            "Epoch 180/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31419146240.0000 - val_loss: 29543413760.0000\n",
            "Epoch 181/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31384367104.0000 - val_loss: 29546393600.0000\n",
            "Epoch 182/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31382638592.0000 - val_loss: 29487896576.0000\n",
            "Epoch 183/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31359457280.0000 - val_loss: 29485783040.0000\n",
            "Epoch 184/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31347349504.0000 - val_loss: 29493514240.0000\n",
            "Epoch 185/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31313639424.0000 - val_loss: 29451687936.0000\n",
            "Epoch 186/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31333943296.0000 - val_loss: 29439434752.0000\n",
            "Epoch 187/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31282425856.0000 - val_loss: 29455405056.0000\n",
            "Epoch 188/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31275735040.0000 - val_loss: 29414711296.0000\n",
            "Epoch 189/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31275175936.0000 - val_loss: 29574651904.0000\n",
            "Epoch 190/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31247378432.0000 - val_loss: 29369483264.0000\n",
            "Epoch 191/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31221102592.0000 - val_loss: 29339291648.0000\n",
            "Epoch 192/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31202021376.0000 - val_loss: 29326589952.0000\n",
            "Epoch 193/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31204065280.0000 - val_loss: 29328629760.0000\n",
            "Epoch 194/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31213365248.0000 - val_loss: 29304025088.0000\n",
            "Epoch 195/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31235260416.0000 - val_loss: 29342529536.0000\n",
            "Epoch 196/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31208210432.0000 - val_loss: 29387730944.0000\n",
            "Epoch 197/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31183364096.0000 - val_loss: 29250729984.0000\n",
            "Epoch 198/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31135539200.0000 - val_loss: 29245038592.0000\n",
            "Epoch 199/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31122880512.0000 - val_loss: 29230274560.0000\n",
            "Epoch 200/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31117729792.0000 - val_loss: 29248251904.0000\n",
            "Epoch 201/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31105515520.0000 - val_loss: 29198522368.0000\n",
            "Epoch 202/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31104854016.0000 - val_loss: 29156005888.0000\n",
            "Epoch 203/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31075743744.0000 - val_loss: 29147756544.0000\n",
            "Epoch 204/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31066617856.0000 - val_loss: 29291509760.0000\n",
            "Epoch 205/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30999158784.0000 - val_loss: 29158899712.0000\n",
            "Epoch 206/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31093516288.0000 - val_loss: 29085294592.0000\n",
            "Epoch 207/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 31011442688.0000 - val_loss: 29081993216.0000\n",
            "Epoch 208/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30995365888.0000 - val_loss: 29061851136.0000\n",
            "Epoch 209/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30990557184.0000 - val_loss: 29028954112.0000\n",
            "Epoch 210/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30995240960.0000 - val_loss: 29045053440.0000\n",
            "Epoch 211/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30979143680.0000 - val_loss: 28985698304.0000\n",
            "Epoch 212/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30932191232.0000 - val_loss: 28985995264.0000\n",
            "Epoch 213/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30967754752.0000 - val_loss: 28958015488.0000\n",
            "Epoch 214/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30923479040.0000 - val_loss: 29010282496.0000\n",
            "Epoch 215/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30943916032.0000 - val_loss: 29039357952.0000\n",
            "Epoch 216/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30965667840.0000 - val_loss: 28993720320.0000\n",
            "Epoch 217/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30904457216.0000 - val_loss: 28914685952.0000\n",
            "Epoch 218/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30880106496.0000 - val_loss: 29053620224.0000\n",
            "Epoch 219/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30875365376.0000 - val_loss: 28889944064.0000\n",
            "Epoch 220/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30848942080.0000 - val_loss: 28927881216.0000\n",
            "Epoch 221/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30849476608.0000 - val_loss: 28889323520.0000\n",
            "Epoch 222/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30788935680.0000 - val_loss: 28848580608.0000\n",
            "Epoch 223/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30880864256.0000 - val_loss: 28863485952.0000\n",
            "Epoch 224/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30805751808.0000 - val_loss: 28815697920.0000\n",
            "Epoch 225/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30800160768.0000 - val_loss: 28812681216.0000\n",
            "Epoch 226/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30787846144.0000 - val_loss: 28880076800.0000\n",
            "Epoch 227/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30886440960.0000 - val_loss: 29037049856.0000\n",
            "Epoch 228/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30888673280.0000 - val_loss: 28780021760.0000\n",
            "Epoch 229/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30760804352.0000 - val_loss: 28727418880.0000\n",
            "Epoch 230/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30758352896.0000 - val_loss: 28741642240.0000\n",
            "Epoch 231/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30736472064.0000 - val_loss: 28694636544.0000\n",
            "Epoch 232/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30744565760.0000 - val_loss: 28687503360.0000\n",
            "Epoch 233/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30721984512.0000 - val_loss: 28677662720.0000\n",
            "Epoch 234/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30852976640.0000 - val_loss: 28666159104.0000\n",
            "Epoch 235/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30726924288.0000 - val_loss: 28746061824.0000\n",
            "Epoch 236/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30679562240.0000 - val_loss: 28734982144.0000\n",
            "Epoch 237/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30697394176.0000 - val_loss: 28655513600.0000\n",
            "Epoch 238/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30649446400.0000 - val_loss: 28642959360.0000\n",
            "Epoch 239/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30643851264.0000 - val_loss: 28836083712.0000\n",
            "Epoch 240/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30654353408.0000 - val_loss: 28629043200.0000\n",
            "Epoch 241/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30667225088.0000 - val_loss: 28598519808.0000\n",
            "Epoch 242/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30632167424.0000 - val_loss: 28590188544.0000\n",
            "Epoch 243/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30639454208.0000 - val_loss: 28638670848.0000\n",
            "Epoch 244/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30597687296.0000 - val_loss: 28609986560.0000\n",
            "Epoch 245/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30577240064.0000 - val_loss: 28540596224.0000\n",
            "Epoch 246/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30596679680.0000 - val_loss: 28634343424.0000\n",
            "Epoch 247/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30609993728.0000 - val_loss: 28550281216.0000\n",
            "Epoch 248/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30604087296.0000 - val_loss: 28532813824.0000\n",
            "Epoch 249/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30560851968.0000 - val_loss: 28542464000.0000\n",
            "Epoch 250/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30528768000.0000 - val_loss: 28484732928.0000\n",
            "Epoch 251/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30552373248.0000 - val_loss: 28763813888.0000\n",
            "Epoch 252/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30574798848.0000 - val_loss: 28473315328.0000\n",
            "Epoch 253/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30522386432.0000 - val_loss: 28476618752.0000\n",
            "Epoch 254/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30516416512.0000 - val_loss: 28462950400.0000\n",
            "Epoch 255/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30508668928.0000 - val_loss: 28538689536.0000\n",
            "Epoch 256/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30574141440.0000 - val_loss: 28406032384.0000\n",
            "Epoch 257/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30488934400.0000 - val_loss: 28490260480.0000\n",
            "Epoch 258/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30465835008.0000 - val_loss: 28366368768.0000\n",
            "Epoch 259/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30457976832.0000 - val_loss: 28430385152.0000\n",
            "Epoch 260/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30451924992.0000 - val_loss: 28371851264.0000\n",
            "Epoch 261/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30476490752.0000 - val_loss: 28343365632.0000\n",
            "Epoch 262/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30418239488.0000 - val_loss: 28356425728.0000\n",
            "Epoch 263/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30477166592.0000 - val_loss: 28361488384.0000\n",
            "Epoch 264/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30430857216.0000 - val_loss: 28435343360.0000\n",
            "Epoch 265/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30397702144.0000 - val_loss: 28344686592.0000\n",
            "Epoch 266/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30364426240.0000 - val_loss: 28400076800.0000\n",
            "Epoch 267/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30400663552.0000 - val_loss: 28305940480.0000\n",
            "Epoch 268/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30428928000.0000 - val_loss: 28335896576.0000\n",
            "Epoch 269/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30353131520.0000 - val_loss: 28264044544.0000\n",
            "Epoch 270/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30346934272.0000 - val_loss: 28243249152.0000\n",
            "Epoch 271/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30322710528.0000 - val_loss: 28319989760.0000\n",
            "Epoch 272/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30323703808.0000 - val_loss: 28355147776.0000\n",
            "Epoch 273/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30350909440.0000 - val_loss: 28234725376.0000\n",
            "Epoch 274/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30330923008.0000 - val_loss: 28208476160.0000\n",
            "Epoch 275/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30327320576.0000 - val_loss: 28204042240.0000\n",
            "Epoch 276/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30280445952.0000 - val_loss: 28226705408.0000\n",
            "Epoch 277/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30305259520.0000 - val_loss: 28187584512.0000\n",
            "Epoch 278/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30309580800.0000 - val_loss: 28153962496.0000\n",
            "Epoch 279/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30288529408.0000 - val_loss: 28123111424.0000\n",
            "Epoch 280/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30252111872.0000 - val_loss: 28113453056.0000\n",
            "Epoch 281/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30248691712.0000 - val_loss: 28117182464.0000\n",
            "Epoch 282/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30236751872.0000 - val_loss: 28151787520.0000\n",
            "Epoch 283/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30250682368.0000 - val_loss: 28138274816.0000\n",
            "Epoch 284/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30228758528.0000 - val_loss: 28078286848.0000\n",
            "Epoch 285/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30256855040.0000 - val_loss: 28068569088.0000\n",
            "Epoch 286/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30253776896.0000 - val_loss: 28073404416.0000\n",
            "Epoch 287/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30199236608.0000 - val_loss: 28051232768.0000\n",
            "Epoch 288/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30198908928.0000 - val_loss: 28050251776.0000\n",
            "Epoch 289/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30185316352.0000 - val_loss: 28062179328.0000\n",
            "Epoch 290/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30180538368.0000 - val_loss: 28043364352.0000\n",
            "Epoch 291/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30155550720.0000 - val_loss: 28073486336.0000\n",
            "Epoch 292/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30143922176.0000 - val_loss: 28117587968.0000\n",
            "Epoch 293/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30137579520.0000 - val_loss: 28023083008.0000\n",
            "Epoch 294/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30144960512.0000 - val_loss: 27982424064.0000\n",
            "Epoch 295/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30171346944.0000 - val_loss: 27956975616.0000\n",
            "Epoch 296/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30109698048.0000 - val_loss: 27984242688.0000\n",
            "Epoch 297/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30102589440.0000 - val_loss: 27958683648.0000\n",
            "Epoch 298/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30064416768.0000 - val_loss: 27942737920.0000\n",
            "Epoch 299/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30093012992.0000 - val_loss: 27968253952.0000\n",
            "Epoch 300/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30090428416.0000 - val_loss: 27971645440.0000\n",
            "Epoch 301/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30066788352.0000 - val_loss: 27894484992.0000\n",
            "Epoch 302/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30069633024.0000 - val_loss: 27873368064.0000\n",
            "Epoch 303/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30062211072.0000 - val_loss: 27872884736.0000\n",
            "Epoch 304/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30032640000.0000 - val_loss: 28003928064.0000\n",
            "Epoch 305/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30084085760.0000 - val_loss: 27867428864.0000\n",
            "Epoch 306/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30031757312.0000 - val_loss: 27833108480.0000\n",
            "Epoch 307/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30010904576.0000 - val_loss: 27817009152.0000\n",
            "Epoch 308/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30025125888.0000 - val_loss: 27888330752.0000\n",
            "Epoch 309/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29968893952.0000 - val_loss: 27833616384.0000\n",
            "Epoch 310/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 30023944192.0000 - val_loss: 27779080192.0000\n",
            "Epoch 311/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29982722048.0000 - val_loss: 27802404864.0000\n",
            "Epoch 312/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29993375744.0000 - val_loss: 27774320640.0000\n",
            "Epoch 313/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29975623680.0000 - val_loss: 27769583616.0000\n",
            "Epoch 314/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29984577536.0000 - val_loss: 27748839424.0000\n",
            "Epoch 315/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29952026624.0000 - val_loss: 27738361856.0000\n",
            "Epoch 316/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29945378816.0000 - val_loss: 27747205120.0000\n",
            "Epoch 317/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29955158016.0000 - val_loss: 27725983744.0000\n",
            "Epoch 318/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29972037632.0000 - val_loss: 27734466560.0000\n",
            "Epoch 319/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29931993088.0000 - val_loss: 27775358976.0000\n",
            "Epoch 320/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29957615616.0000 - val_loss: 27689234432.0000\n",
            "Epoch 321/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29906518016.0000 - val_loss: 27696998400.0000\n",
            "Epoch 322/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29930838016.0000 - val_loss: 27675936768.0000\n",
            "Epoch 323/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29927124992.0000 - val_loss: 27690383360.0000\n",
            "Epoch 324/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29979480064.0000 - val_loss: 27690127360.0000\n",
            "Epoch 325/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29925154816.0000 - val_loss: 27658455040.0000\n",
            "Epoch 326/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29898592256.0000 - val_loss: 27748958208.0000\n",
            "Epoch 327/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29887399936.0000 - val_loss: 27628595200.0000\n",
            "Epoch 328/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29887934464.0000 - val_loss: 27610710016.0000\n",
            "Epoch 329/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29830567936.0000 - val_loss: 27604768768.0000\n",
            "Epoch 330/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29836791808.0000 - val_loss: 27637698560.0000\n",
            "Epoch 331/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29821835264.0000 - val_loss: 27795378176.0000\n",
            "Epoch 332/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29824239616.0000 - val_loss: 27569983488.0000\n",
            "Epoch 333/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 29831456768.0000 - val_loss: 27549227008.0000\n",
            "Epoch 334/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29843757056.0000 - val_loss: 27521759232.0000\n",
            "Epoch 335/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 29787938816.0000 - val_loss: 27522426880.0000\n",
            "Epoch 336/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 29794435072.0000 - val_loss: 27877275648.0000\n",
            "Epoch 337/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29805213696.0000 - val_loss: 27489783808.0000\n",
            "Epoch 338/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29812860928.0000 - val_loss: 27518777344.0000\n",
            "Epoch 339/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 29746610176.0000 - val_loss: 27508815872.0000\n",
            "Epoch 340/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 29763131392.0000 - val_loss: 27457579008.0000\n",
            "Epoch 341/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 29760714752.0000 - val_loss: 27493636096.0000\n",
            "Epoch 342/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29731323904.0000 - val_loss: 27429894144.0000\n",
            "Epoch 343/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 29720623104.0000 - val_loss: 27504580608.0000\n",
            "Epoch 344/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 29731811328.0000 - val_loss: 27461253120.0000\n",
            "Epoch 345/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29675991040.0000 - val_loss: 27599978496.0000\n",
            "Epoch 346/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 29691588608.0000 - val_loss: 27438835712.0000\n",
            "Epoch 347/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 29682685952.0000 - val_loss: 27417667584.0000\n",
            "Epoch 348/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 29662836736.0000 - val_loss: 27365648384.0000\n",
            "Epoch 349/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 29677324288.0000 - val_loss: 27395489792.0000\n",
            "Epoch 350/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 29665241088.0000 - val_loss: 27364411392.0000\n",
            "Epoch 351/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 29645221888.0000 - val_loss: 27341047808.0000\n",
            "Epoch 352/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29691033600.0000 - val_loss: 27302531072.0000\n",
            "Epoch 353/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29620877312.0000 - val_loss: 27309877248.0000\n",
            "Epoch 354/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 29611841536.0000 - val_loss: 27304794112.0000\n",
            "Epoch 355/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29602236416.0000 - val_loss: 27457783808.0000\n",
            "Epoch 356/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 29705433088.0000 - val_loss: 27311638528.0000\n",
            "Epoch 357/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 29584580608.0000 - val_loss: 27286616064.0000\n",
            "Epoch 358/400\n",
            "119/119 [==============================] - 0s 3ms/step - loss: 29605214208.0000 - val_loss: 27279015936.0000\n",
            "Epoch 359/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29596921856.0000 - val_loss: 27347781632.0000\n",
            "Epoch 360/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29615357952.0000 - val_loss: 27276273664.0000\n",
            "Epoch 361/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29551226880.0000 - val_loss: 27230097408.0000\n",
            "Epoch 362/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29570371584.0000 - val_loss: 27322163200.0000\n",
            "Epoch 363/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29608878080.0000 - val_loss: 27223261184.0000\n",
            "Epoch 364/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29508009984.0000 - val_loss: 27233212416.0000\n",
            "Epoch 365/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29581561856.0000 - val_loss: 27181807616.0000\n",
            "Epoch 366/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29507989504.0000 - val_loss: 27337824256.0000\n",
            "Epoch 367/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29510987776.0000 - val_loss: 27146262528.0000\n",
            "Epoch 368/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29507721216.0000 - val_loss: 27213527040.0000\n",
            "Epoch 369/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29466531840.0000 - val_loss: 27164213248.0000\n",
            "Epoch 370/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29474050048.0000 - val_loss: 27141122048.0000\n",
            "Epoch 371/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29473232896.0000 - val_loss: 27122137088.0000\n",
            "Epoch 372/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29437734912.0000 - val_loss: 27211675648.0000\n",
            "Epoch 373/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29455206400.0000 - val_loss: 27093477376.0000\n",
            "Epoch 374/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29408057344.0000 - val_loss: 27057360896.0000\n",
            "Epoch 375/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29409540096.0000 - val_loss: 27076055040.0000\n",
            "Epoch 376/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29419311104.0000 - val_loss: 27252703232.0000\n",
            "Epoch 377/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29444628480.0000 - val_loss: 27056222208.0000\n",
            "Epoch 378/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29378283520.0000 - val_loss: 27055851520.0000\n",
            "Epoch 379/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29377273856.0000 - val_loss: 27039916032.0000\n",
            "Epoch 380/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29354588160.0000 - val_loss: 27060332544.0000\n",
            "Epoch 381/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29350463488.0000 - val_loss: 27000076288.0000\n",
            "Epoch 382/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29376010240.0000 - val_loss: 26968072192.0000\n",
            "Epoch 383/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29301762048.0000 - val_loss: 26998059008.0000\n",
            "Epoch 384/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29344126976.0000 - val_loss: 26959652864.0000\n",
            "Epoch 385/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29352759296.0000 - val_loss: 26968809472.0000\n",
            "Epoch 386/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29337651200.0000 - val_loss: 27090790400.0000\n",
            "Epoch 387/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29318610944.0000 - val_loss: 26882291712.0000\n",
            "Epoch 388/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29302784000.0000 - val_loss: 26916925440.0000\n",
            "Epoch 389/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29269176320.0000 - val_loss: 26904401920.0000\n",
            "Epoch 390/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29271214080.0000 - val_loss: 26941857792.0000\n",
            "Epoch 391/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29245261824.0000 - val_loss: 26956644352.0000\n",
            "Epoch 392/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29328187392.0000 - val_loss: 26846859264.0000\n",
            "Epoch 393/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29248731136.0000 - val_loss: 26822641664.0000\n",
            "Epoch 394/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29227896832.0000 - val_loss: 26816241664.0000\n",
            "Epoch 395/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29237696512.0000 - val_loss: 26874894336.0000\n",
            "Epoch 396/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29192804352.0000 - val_loss: 26819606528.0000\n",
            "Epoch 397/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29224734720.0000 - val_loss: 26795186176.0000\n",
            "Epoch 398/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29198342144.0000 - val_loss: 26895691776.0000\n",
            "Epoch 399/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29165901824.0000 - val_loss: 26888151040.0000\n",
            "Epoch 400/400\n",
            "119/119 [==============================] - 0s 2ms/step - loss: 29249923072.0000 - val_loss: 26750771200.0000\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<tensorflow.python.keras.callbacks.History at 0x7f10d50c8860>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 69
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "nUP-oKZ-lB8q",
        "colab_type": "text"
      },
      "source": [
        "# Model Evaluation and Predictions"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "HqtMw3rxZzhg",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "losses = pd.DataFrame(model.history.history)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "YF11BPSQlR62",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 293
        },
        "outputId": "5c988bda-91ae-4c39-b5dd-dc9d7171f91c"
      },
      "source": [
        "losses.plot() #ideal/desired response. since the validation loss ain't increasing."
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.axes._subplots.AxesSubplot at 0x7f10d06e7e48>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 73
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "9EdvTOwBlwxl",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from sklearn.metrics import mean_absolute_error,mean_squared_error,explained_variance_score"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "uXG9hERLnV0l",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "y_p = model.predict(X_test)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "TFCjorW6nZ1_",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 306
        },
        "outputId": "6cf3ac99-2776-484e-ea33-f01b3f0a78b5"
      },
      "source": [
        "plt.scatter(y_test,y_p)\n",
        "plt.plot(y_test,y_test,'r') #good fair predictions we can say"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "[<matplotlib.lines.Line2D at 0x7f10d07cf208>]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 78
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "k7-55W1OnhLi",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 85
        },
        "outputId": "f9570f01-4fcf-49f5-81d9-43b8ddab5466"
      },
      "source": [
        "print(f\"1. The mean absolute error is - {mean_absolute_error(y_test,y_p)}\")\n",
        "print(f\"2. The mean squared error is - {mean_squared_error(y_test,y_p)}\")\n",
        "print(f\"3. The roor mean squared error is -{np.sqrt(mean_squared_error(y_test,y_p))} \")\n",
        "print(f\"4. The explained varience (best value = 1) is - {explained_variance_score(y_test,y_p)}\")"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "1. The mean absolute error is - 100940.98638961227\n",
            "2. The mean squared error is - 26750775420.230263\n",
            "3. The roor mean squared error is -163556.64284959587 \n",
            "4. The explained varience (best value = 1) is - 0.7983083187855454\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "AAy-2FIGpXBL",
        "colab_type": "text"
      },
      "source": [
        "#Predicting the price for a new house"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "HkcSp97JolHh",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "singlehouse= df.drop('price',axis=1).iloc[0].values.reshape(-1,19)\n",
        "singlehouse = scaler.transform(singlehouse)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "8OR20HKSpqv5",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "preddiction = list(model.predict(singlehouse))"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "JhCTspTzqEYG",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "3bb1ea99-5a4a-4b26-f95d-9e217495343c"
      },
      "source": [
        "preddiction"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "[array([276316.84], dtype=float32)]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 99
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "jrDHWimVqc49",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "3192e079-61ff-4799-fbe2-217741444996"
      },
      "source": [
        "(276316.84 -221900.0\t)/276316.84 #just ~19% off and that's fair prediction"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "0.19693638650470968"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 101
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "oxe5sWNoqjmx",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 131
        },
        "outputId": "f6e06c26-ab9c-4202-83c7-b87925e93c52"
      },
      "source": [
        "df.head(2)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>price</th>\n",
              "      <th>bedrooms</th>\n",
              "      <th>bathrooms</th>\n",
              "      <th>sqft_living</th>\n",
              "      <th>sqft_lot</th>\n",
              "      <th>floors</th>\n",
              "      <th>waterfront</th>\n",
              "      <th>view</th>\n",
              "      <th>condition</th>\n",
              "      <th>grade</th>\n",
              "      <th>sqft_above</th>\n",
              "      <th>sqft_basement</th>\n",
              "      <th>yr_built</th>\n",
              "      <th>yr_renovated</th>\n",
              "      <th>lat</th>\n",
              "      <th>long</th>\n",
              "      <th>sqft_living15</th>\n",
              "      <th>sqft_lot15</th>\n",
              "      <th>year</th>\n",
              "      <th>month</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>221900.0</td>\n",
              "      <td>3</td>\n",
              "      <td>1.00</td>\n",
              "      <td>1180</td>\n",
              "      <td>5650</td>\n",
              "      <td>1.0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>3</td>\n",
              "      <td>7</td>\n",
              "      <td>1180</td>\n",
              "      <td>0</td>\n",
              "      <td>1955</td>\n",
              "      <td>0</td>\n",
              "      <td>47.5112</td>\n",
              "      <td>-122.257</td>\n",
              "      <td>1340</td>\n",
              "      <td>5650</td>\n",
              "      <td>2014</td>\n",
              "      <td>10</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>538000.0</td>\n",
              "      <td>3</td>\n",
              "      <td>2.25</td>\n",
              "      <td>2570</td>\n",
              "      <td>7242</td>\n",
              "      <td>2.0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>3</td>\n",
              "      <td>7</td>\n",
              "      <td>2170</td>\n",
              "      <td>400</td>\n",
              "      <td>1951</td>\n",
              "      <td>1991</td>\n",
              "      <td>47.7210</td>\n",
              "      <td>-122.319</td>\n",
              "      <td>1690</td>\n",
              "      <td>7639</td>\n",
              "      <td>2014</td>\n",
              "      <td>12</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "      price  bedrooms  bathrooms  ...  sqft_lot15  year  month\n",
              "0  221900.0         3       1.00  ...        5650  2014     10\n",
              "1  538000.0         3       2.25  ...        7639  2014     12\n",
              "\n",
              "[2 rows x 20 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 92
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "sN2yJwKjqnFj",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    }
  ]
}